﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Ehai.Web.Framework.Rules
{

    #region IMsgRuleHandle

    interface IMsgRuleHandle
    {

#if DEBUG

        /// <summary>
        /// 执行状态 正常:0, 第一个参数没达到要求:1 ...   抛出异常:-1, 数组长度没达到要求:-2
        /// </summary>
        int ExecStatus
        {
            get;
        }

#endif

        /// <summary>
        /// 规则执行入口
        /// </summary>
        /// <param name="p">一维数组，参数列表</param>
        /// <param name="ci">环境变量，如需得到语言类型使用ci.GetLanguge().ToString()</param>
        /// <returns>结果存在二维数组中</returns>
        string[][] Execute(string[] p, ContextInfo ci);

        /// <summary>
        /// 获得本规则帮助摘要，如“获得目录下所有文件、文件夹的信息”
        /// </summary>
        /// <returns>返回帮助摘要</returns>
        string GetHelpInfo();

        /// <summary>
        /// 获得本规则帮助的详细信息字符串，包括：例子，错误信息
        /// </summary>
        /// <returns>返回帮助的详细信息</returns>
        string GetHelpDetail();

        /// <summary>
        /// 获得本规则参数的信息
        /// </summary>
        /// <returns>返回参数的信息</returns>
        string[] GetParametersInfo();

    }

    #endregion

}
